package demo.practice.heap;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class P373 {

    public static void main(String[] args) {
        P373 p373 = new P373();
        p373.kSmallestPairs(new int[]{1, 1, 2}, new int[]{1, 2, 3}, 10);
    }

    public List<List<Integer>> kSmallestPairs(int[] nums1, int[] nums2, int k) {

        int i = 0;
        int j = 0;
        List<List<Integer>> list = new ArrayList<>();
        while (i < nums1.length && j < nums2.length && list.size() < k) {
            list.add(Arrays.asList(nums1[i], nums2[j]));

            if (i + 1 < nums1.length && j + 1 < nums2.length && nums1[i + 1] > nums2[j + 1]) {
                j++;
                i = 0;
            } else if (i + 1 < nums1.length && j + 1 < nums2.length && nums1[i + 1] <= nums2[j + 1]) {
                i++;
                j = 0;
            } else if (i + 1 >= nums1.length && j + 1 < nums2.length) {
                j++;
                i = 0;
            } else {
                i++;
                j = 0;
            }
        }

        return list;

    }
}
